﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;

namespace StoveTop
{
	class Recipe
	{
		private string _name;
		private int _prepTime;
		private int _cookTime;
		private decimal _rating;
		private decimal _difficulty;
		private List <StoveTop.Models.Step> _steps;
		private List <RecipeIngredient> _ingreds;
		private List <StoveTop.Models.Vocab> _vocab;
		private List <StoveTop.Models.Tag> _tags;

		public Recipe() {
		}
		public Recipe(string name, int prepTime, int cookTime, decimal rating, decimal difficulty, List <StoveTop.Models.Step> steps, List <RecipeIngredient> ingreds, List <StoveTop.Models.Vocab> vocab, List <StoveTop.Models.Tag> tags)
		{
			_name = name;
			_prepTime = prepTime;
			_cookTime = cookTime;
			_rating = rating;
			_difficulty = difficulty;
			_steps = steps;
			_ingreds = ingreds;
			_vocab = vocab;
			_tags = tags;

		}

		// Setters
		public void SetName(string name) {
			_name = name;
		}
		public void SetPrepTime(int prepTime) {
			_prepTime = prepTime;
		}
		public void SetCookTime(int cookTime) {
			_cookTime = cookTime;
		}
		public void SetRating(decimal rating) {
			_rating = rating;
		}
		public void SetDifficulty(decimal difficulty) {
			_difficulty = difficulty;
		}
		public void SetSteps(List <StoveTop.Models.Step> steps) {
			_steps = steps;
		}
		public void SetIngreds(List <RecipeIngredient> ingreds) {
			_ingreds = ingreds;
		}
		public void SetVocab(List <StoveTop.Models.Vocab> vocab){
			_vocab = vocab;
		}
		public void SetTags(List <StoveTop.Models.Tag> tags) {
			_tags = tags;
		}
		// Getters
		public string GetName() {
			return _name;
		}
		public int GetPrepTime() {
			return _prepTime;
		}
		public int GetCookTime() {
			return _cookTime;
		}
		public decimal GetRating() {
			return _rating;
		}
		public decimal GetDifficulty() {
			return _difficulty;
		}
		public List <StoveTop.Models.Step> GetSteps() {
			return _steps;
		}
		public List <RecipeIngredient> GetIngreds() {
			return _ingreds;
		}
		public List <StoveTop.Models.Vocab> GetVocab() {
			return _vocab;
		}
		public List <StoveTop.Models.Tag> GetTags() {
			return _tags;
		}
	}
}

